* {
    margin: 0;
    padding: 0;
    /* Padding and border are included in the element's total width and height */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    font: bold 13px Aria, sans-serif;
}

html {
    height: 100%;
    background: white;
    background: radial-gradient(circle, #fff 20%, #ccc);
    background-size: cover;
}

#calculator {
    width: 325px;
    height: auto;

    margin: 100px auto;
    padding: 20px 20px 9px;

    background: #0b8fcc;
    background: linear-gradient(#0757ce, #8bceec);
    border-radius: 3px;
    /* Using box shadows to create 3D effects */
    box-shadow: 0px 4px #009de4, 0px 10px 15px rgba(0,0,0,0.2);
}

#screen {
    float: right;

    height: 40px;
    width: 212px;

    padding: 0 10px;

    background: rgba(0, 0, 0, 0.2);
    border-radius: 3px;
    /* Inset shadow on the screen to create indent */
    box-shadow: inset 0px 4px rgba(0, 0, 0, 0.2);

    /* Typography */
    font-size: 17px;
    line-height: 40px;
    color: white;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
    text-align: right;
    letter-spacing: 1px;
}

/* Clear Floats to make sure #calculator includes them correctly */
.keys, .top {
    overflow: hidden;
}

/* Applying css on all the keys */
.keys span, #clear {
    float: left;
    position: relative;
    top: 0;
    /* Specifies the type of cursor to be displayed when pointing on an element. */
    cursor: pointer;

    width: 66px;
    height: 36px;

    background: white;
    border-radius: 3px;
    box-shadow: 0px 4px rgba(0, 0, 0, 0.2);

    margin: 0 7px 11px 0;

    color: #888;
    line-height: 36px;
    text-align: center;

    /* prevent selection of text inside keys */
    user-select: none;

    /* Transitions allows you to change property values smoothly  */
    transition: all 0.2s ease;
}

.keys span.on {
    background: #ff69d2;
    margin-right: 0; /* 7px in previous setting*/
}

.keys span.left {
    background: #FFF0F5;
    margin-right: 0; /* 7px in previous setting*/
}

.keys span.bottom {
    background: #FFF0F5;
}

/* Eval Button */
.keys span.eval {
    background: #f1ff92;
    box-shadow: 0px 4px #9da853;
    color: #888e5f;
}

.keys span.eval:hover {
    background: #abb850;
    box-shadow: 0px 4px #717a33;
    color: #ffffff;
}

.keys span.eval:active {
    box-shadow: 0px 0px #717a33;
    top: 4px;
}

/* Clear Button */
#clear {
    background: #ff9fa8;
    box-shadow: 0px 4px #ff7c87;
    color: white;
}

#clear:hover {
    background: #f68991;
    box-shadow: 0px 4px #d3545d;
    color: white;
}

#clear:active {
    top: 4px;
    box-shadow: 0px 0px #d3545d;
}

/* Other Buttons */
.keys span:hover {
    background: #9c89f6;
    box-shadow: 0px 4px #6b54d3;
    color: white;
}

.keys span:active {
    box-shadow: 0px 0px #6b54d3;
    top: 4px;
}

.challenge {
    text-align: center;
    position: relative;
}

a:link, a:visited {
  background-color: #3ab2f4;
  color: white;
  padding: 14px 25px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}

a:hover, a:active {
  background-color: #0087ff;
}